Correct and Efficient Implementations of Synchronous Models on Asynchronous Execution Platforms∗

نویسندگان

  • Stavros Tripakis
  • Alberto Sangiovanni-Vincentelli
  • Christos Sofronis
چکیده

Concurrency is enjoying a second (or third? fourth?) youth. This is triggered by an anticipated revolution in the evolution of computer architecture, from faster, single-processor chips, to multi-processor chips with more and more processors [6]. This change brings hopes that the limits of Moore’s law will be overcome, but also fears that programming will become even harder than it already is. Indeed, parallel computing has been one of the holy grails of computer science. Concurrent programming today is predominantly thread-based. Thread-based concurrency is fundamentally asynchronous, in the sense that most thread-based models have an interleaving semantics, which stems from making few or no assumptions on the relative speeds of the threads. Thread communication is often based on some type of shared-memory model. This type of asynchronous concurrency results in nondeterministic behavior, which is hard to understand and debug. Indeed, a number of researchers claim that thread-based parallel programming is a bad idea [12, 9]. Other concurrency models, such as Kahn Process Networks [7], ensure deterministic results despite process interleaving. Unfortunately, most multi-processor architectures today do not follow such models, and use threads instead. Synchronous concurrency is based on a model that avoids interleaving. Instead, all processes execute in lock-step. Many theoretical models but also widely-used practical systems exist that follow the synchronous paradigm. For instance, Milner’s SCCS [11], the synchronous languages [2], languages such as VHDL and Verilog, which are very popular in the design and implementation of synchronous circuits, and tools such as Simulink and SCADE, which are widely used in the design and implementation of synchronous controllers. There is a long debate over the pros and cons of synchronous vs. asynchronous concurrency. One argument that often comes up in the debate in favor of synchrony is determinism. The semantics of most synchronous models are deterministic: given the same (sequence of inputs) the same (sequence of) outputs

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementing mixed-criticality synchronous reactive systems upon multiprocessor platforms

In designing large complex safety-critical systems that are subject to certification, current industrial practice is centered on the use of high-level abstract design tools. Using such tools greatly facilitates the process of coming up with certifiably correct system designs; however it is a challenge to obtain resource-efficient implementations of the designs thus produced upon actual executio...

متن کامل

GVT algorithms and discrete event dynamics on 129K+ processor cores

Parallel discrete event simulation (PDES) represents a class of codes that are challenging to scale to large number of processors due to tight global timestamp-ordering and finegrained event execution. One of the critical factors in scaling PDES is the efficiency of the underlying global virtual time (GVT) algorithm needed for correctness of parallel execution and speed of progress. Although ma...

متن کامل

Compositional synthesis of latency-insensitive systems from multi-clocked synchronous specifications

We consider the problem of synthesizing correct-by-construction globally asynchronous, locally synchronous (GALS) implementations from modular synchronous specifications. This involves the synthesis of asynchronous wrappers that drive the synchronous clocks of the modules and perform input reading in such a fashion as to preserve, in a certain sense, the global properties of the system. Our app...

متن کامل

Efficient Distribution of Triggered Synchronous Block Diagrams

Most of the design challenges for complex cyber-physical systems, where a digital controller governs a multiphysics plant, relate to the distributed nature of the systems to be controlled. Cars, airplanes, and power distribution grids are well-known examples. The characteristics of the communication network that connects the system components affect the derivation of the control law and the ver...

متن کامل

Giraph Unchained: Barrierless Asynchronous Parallel Execution in Pregel-like Graph Processing Systems

The bulk synchronous parallel (BSP) model used by synchronous graph processing systems allows algorithms to be easily implemented and reasoned about. However, BSP can suffer from poor performance due to stale messages and frequent global synchronization barriers. Asynchronous computation models have been proposed to alleviate these overheads but existing asynchronous systems that implement such...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009